//选择排序，就是选择最小的，我喜欢小的😄，然后就是，每次确定一个范围然后找最小的，
//之后就确定了第一个最小的元素，然后就是，不断的比较。
//其实就是找最小值 ，通过循环来找最小值，但之前得缓存一下这个最小值，然后再去，不断的比较。
//冒泡还有这个选择其实都是，外层循环控制遍历次数的,
function select(arr) {
  for (let i = 0; i < arr.length - 1; i++) {//这个是确定初始的遍历起点
    let minindex = i//初始的最下值下标，
    for (let j = i; j < arr.length; j++) {
      if (arr[j] < arr[minindex]) {//内部遍历的目的其实，是为了找到最小值的下标
        minindex = j
      }
    }
    if (minindex !== i) {//在这里去设置最小的元素放置到头部。
      [arr[j], arr[minindex]] = [arr[minindex], arr[j]]
    }
  }
}
//不稳定因为这个就是，如果末尾存在多个小值，那么是将最后一个元素，和你当前所选最小值进行交换，那么同元素位置将会变化
//O(n^2) 1